Prédiction de type on-policy par approximations

6. Construction des fonctions d'approximation linéaires

6.1. Construction des fonctions d'approximation linéaires

Les méthodes d'approximations linéaires sont intéressantes car leur convergence est garantie d'un point de vue théorique et que d'une manière pratique elles sont souvent très efficaces en termes vitesse d'exécution. Cela dépend en grande partie de la manière dont les états sont représentés, et nous allons en parler dans les sections suivantes. Un choix approprié des caractéristiques utilisées est important lorsqu'on utilise ces fonctions d'approximation. De manière intuitive, les caractéristiques choisies doivent correspondre à celles des états de l'environnement. Si par exemple nous essayons d'évaluer les états d'objets géométriques, il faut alors que ces caractéristiques puissent représenter la forme, la couleur, la taille ... Si nous essayons d'évaluer les états d'un robot, dans ce cas pourra éventuellement s'intéresser à la position du robot, la charge de sa batterie, les retours de ses capteurs ...

Malheureusement, l'utilisation des méthodes linéaires peut être limitée dans certains cas. En particulier, ces méthodes ne peuvent pas toujours prendre en compte les interactions entre les différentes caractéristiques des états : par exemple le fait que la présente une caractéristique $i$ n'est intéressante que si la caractéristique $j$ est absente.

Prenons l'exemple ci-dessous du pendule inversé. Ici, le fait que la valeur de vitesse angulaire $\omega = \dot \alpha$ soit bonne ou mauvaise dépend de l'angle $\alpha$ du pendule. En effet, si l'angle est grand, alors une grande vitesse angulaire implique un grand danger que le pendule tombe (un mauvais état), alors que si l'angle est petit cela ne pose pas problème (un bon état). On a donc une interaction entre la vitesse angulaire et l'angle du pendule qu'une approximation linéaire ne peut pas prendre en compte. Une manière de contourner ce problème est d'utiliser des caractéristiques liées à des combinaisons d'états.

Dans les sections suivantes, nous allons étudier les types d'approximations linéaires avec des bases polynomiales et de Fourier. Nous étudierons ensuite comment utiliser Tensorflow afin d'implanter le calcul automatique du gradient dans nos algorithmes. Cela nous permettra d'étudier dans le module suivant comment des modèles non linéaires codés à base de réseaux de neurones artificiels peuvent être utilisés avec Tensorflow et Keras.